package com.heima.model.wemedia.dtos;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

@Data
public class ArticleDto {
    // 文章标题
    private String title;
    
    // 文章类型
    private String type;
    
    // 文章标签（多个标签用逗号分隔）
    private String labels;
    
    // 发布时间
    private Date publishTime;
    
    // 频道ID
    private Long channelId;
    
    // 图片列表
    private List<String> images;
    
    // 文章状态（0-草稿，1-已发布）
    private Integer status;
    
    // 文章内容（混合类型）
    private String content;

    @Data
    public static class ContentItem {
        // 内容类型（text/image）
        private String type;

        // 内容值（文本内容或图片URL）
        private String value;
    }

    // 转换方法
    public List<ContentItem> getContentItems() throws JsonProcessingException {
        return new ObjectMapper().readValue(content, new TypeReference<List<ContentItem>>(){});
    }
}